
// 引入依赖
let express = require('express');
let router = express.Router();

// 引入 md5 加密模块
let md5 = require('md5');

router
    // 我们使用 post 接收注册请求
    .post('/', function (req, res, next) {
        // 注册交互
        // 如果我们想要获取 post 请求发送来的数据，需要使用插件 body-parse 去解析请求体
        // 数据在 req.body 之中
        // console.log(req.body);

        // 向数据库中保存数据 分4步：
        //  - 链接 mongoDB数据库 并做错误处理
        //  - 创建一个 Scheam 建立 mongoDB数据库 里面的数据结构
        //  - 创建 model ，操作数据库
        //  - 保存数据

        // 在这个中间件里面编写判定逻辑
        if (req.body.mobile && req.body.password) {
            next()
        } else {
            // 需要将字符串使用API json 转换成json字符串才能返回，不然会报错
            res.json({ "type": "error", "msg": "缺少必要参数" });
        }
    }, function (req, res, next) {
        // 在这个中间件中书写数据库操作

        // 引入我们创建的 model 模块
        var UserModel = require('./userModel').UserModel;

        // 放入数据
        var user = new UserModel({
            mobile: req.body.mobile,
            password: md5(req.body.password), // 密码加密处理
            headimg: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201902%2F16%2F20190216131817_rdrjk.jpg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1618671885&t=982d3ee7276698e6dd78749edc404ab4'
        });

        // 保存数据
        user.save(function (err) {
            if (err) return res.json({ "type": "error", "msg": "账号已存在" });
            res.json({ "type": "success", "msg": "注册成功" });
        });

        // res.end('hello');
    });


module.exports = router;